package com.zhangtai.modules.dto;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import com.zhangtai.utils.Excel.ExcelAnnotation;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class ContractRecordDto {

    @ApiModelProperty("台账id")
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long oid;
    @ApiModelProperty("工号")
    private String code;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("员工状态，0：未入职，2：正式，3：离职，4：退休，5：内退，6：离休，7：待岗，9：实习，10：实习结束，11：调动中")
    private String employeestatus;
    @ApiModelProperty("性别 1男 2女")
    private Integer gender;
    @ApiModelProperty("身份证号")
    private String idcard;
    @ApiModelProperty("公司id")
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long orgId;
    @ApiModelProperty("部门id")
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long unitId;
    @ApiModelProperty("岗位id")
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long jobId;
    @ApiModelProperty("签署原因")
    private String operateType;
    @ApiModelProperty("签订合同时所在公司")
    private String beginOrgName;
    @ApiModelProperty("签订合同时部门")
    private String beginUnitName;
    @ApiModelProperty("签订合同时岗位")
    private String beginJobName;
    @ApiModelProperty("合同类型")
    private Integer beginContractType;
    @ApiModelProperty("合同生效时间")
    private Date contractBeginDate;
    @ApiModelProperty("合同预计结束时间")
    private Date contractEndDate;
    @ApiModelProperty("甲方主体")
    private String employerCompany;
    @ApiModelProperty("甲方主体id")
    private Long employerCompanyId;
    @ApiModelProperty("合同期限类型：0 半年 1 一年 2 两年 3三年")
    private Integer contractTimeType;
    @ApiModelProperty("新签合同签订地址")
    private String beginContractUrl;
    @ApiModelProperty("解除合同签订时间")
    private Date endSignDate;
    @ApiModelProperty("解除合同签订地址")
    private String endContractUrl;
    @ApiModelProperty("当前应用合同  0：未生效 1：已生效 2：失效")
    private Integer status;
    @ApiModelProperty("合同实际终止日期")
    private Date endTime;
    @ApiModelProperty("解除类型 1：合同解除 2：终止解除")
    private Integer endType;
    @ExcelAnnotation(rowName = "岗位")
    private String jobName;
    @ExcelAnnotation(rowName = "公司")
    private String orgName;
    @ExcelAnnotation(rowName = "部门")
    private String unitName;
    @ExcelAnnotation(rowName = "入职日期")
    private Date hiredate;


}
